package br.com.sgac.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
	private static final SessionFactory sessioFactory =  criarSessionFactory() ;
	
	private static SessionFactory criarSessionFactory(){
		try{
			SessionFactory sf;
			//cria o objeto que receberá as configurações
			Configuration cfg = new Configuration();
			//informa as configurações do hibernate.cfg.xml 
			cfg.configure();
			//cria uma fabrica de sessões.
			//deve existir apenas uam instancia na aplicação
			sf = cfg.buildSessionFactory();
			return sf;
			}catch(Throwable ex){
			System.out.println("Falha na criação da SessionFactory. " + ex);
			throw new ExceptionInInitializerError(ex);
		}
	}
	public static Session getSessionFactory(){
		return  sessioFactory.openSession();
	}
}
